05_Basic_Models

data <- readRDS(paste0(wd, "RDS/Data_Objects/all_data.rds"))

Lipid PCAs

pcaObj <- pca(data$dfs$lipids)

plot1 <- plotIndiv(pcaObj,
          ind.names= data$samples$names,
          group = data$samples$group,
          legend = TRUE, 
          legend.title = 'Group',
          title = "",
          col = Group.Palette)$graph
plot2 <- plotIndiv(pcaObj,
          group = data$samples$group, 
          pch = data$samples$sex,
          legend = TRUE, 
          legend.title = 'Group',
          legend.title.pch = 'Sex',
          title = "",
          col = Group.Palette)$graph
plot3 <- plotIndiv(pcaObj,
          group = data$samples$group, 
          pch = data$samples$race,
          legend = TRUE, 
          legend.title = 'Group',
          legend.title.pch = 'Race',
          title = "",
          col = Group.Palette)$graph
plot4 <- plotIndiv(pcaObj,
          group = data$samples$group, 
          pch = data$samples$ageDisc,
          legend = TRUE, 
          legend.title = 'Group',
          legend.title.pch = 'Age',
          title = "",
          col = Group.Palette)$graph
Plot_Grid(list(plot1, plot2,
               plot3, plot4))
Supp. Figure 1

Supp. Figure 1

Protein PCAs

pcaObj <- pca(data$dfs$proteins)

plot1 <- plotIndiv(pcaObj,
          ind.names= data$samples$names,
          group = data$samples$group,
          legend = TRUE, 
          legend.title = 'Group',
          title = "",
          col = Group.Palette)$graph
plot2 <- plotIndiv(pcaObj,
          group = data$samples$group, 
          pch = data$samples$sex,
          legend = TRUE, 
          legend.title = 'Group',
          legend.title.pch = 'Sex',
          title = "",
          col = Group.Palette)$graph
plot3 <- plotIndiv(pcaObj,
          group = data$samples$group, 
          pch = data$samples$race,
          legend = TRUE, 
          legend.title = 'Group',
          legend.title.pch = 'Race',
          title = "",
          col = Group.Palette)$graph
plot4 <- plotIndiv(pcaObj,
          group = data$samples$group, 
          pch = data$samples$ageDisc,
          legend = TRUE, 
          legend.title = 'Group',
          legend.title.pch = 'Age',
          title = "",
          col = Group.Palette)$graph
Plot_Grid(list(plot1, plot2,
               plot3, plot4))
Supp. Figure 2

Supp. Figure 2

Lipid PLSDAs

plsdaObj <- plsda(data$dfs$lipids,
                data$samples$group,,
                scale=T)

plot1 <- plotIndiv(plsdaObj,
          ind.names= data$samples$names,
          group = data$samples$group,
          legend = TRUE, 
          legend.title = 'Group',
          title = "",
          col = Group.Palette)$graph
plot2 <- plotIndiv(plsdaObj,
          group = data$samples$group, 
          pch = data$samples$sex,
          legend = TRUE, 
          legend.title = 'Group',
          legend.title.pch = 'Sex',
          title = "",
          col = Group.Palette)$graph
plot3 <- plotIndiv(plsdaObj,
          group = data$samples$group, 
          pch = data$samples$race,
          legend = TRUE, 
          legend.title = 'Group',
          legend.title.pch = 'Race',
          title = "",
          col = Group.Palette)$graph
plot4 <- plotIndiv(plsdaObj,
          group = data$samples$group, 
          pch = data$samples$ageDisc,
          legend = TRUE, 
          legend.title = 'Group',
          legend.title.pch = 'Age',
          title = "",
          col = Group.Palette)$graph
Plot_Grid(list(plot1, plot2,
               plot3, plot4))
Supp. Figure 3

Supp. Figure 3

Protein PLSDAs

plsdaObj <- plsda(data$dfs$proteins,
                data$samples$group,,
                scale=T)

plot1 <- plotIndiv(plsdaObj,
          ind.names= data$samples$names,
          group = data$samples$group,
          legend = TRUE, 
          legend.title = 'Group',
          title = "",
          col = Group.Palette)$graph
plot2 <- plotIndiv(plsdaObj,
          group = data$samples$group, 
          pch = data$samples$sex,
          legend = TRUE, 
          legend.title = 'Group',
          legend.title.pch = 'Sex',
          title = "",
          col = Group.Palette)$graph
plot3 <- plotIndiv(plsdaObj,
          group = data$samples$group, 
          pch = data$samples$race,
          legend = TRUE, 
          legend.title = 'Group',
          legend.title.pch = 'Race',
          title = "",
          col = Group.Palette)$graph
plot4 <- plotIndiv(plsdaObj,
          group = data$samples$group, 
          pch = data$samples$ageDisc,
          legend = TRUE, 
          legend.title = 'Group',
          legend.title.pch = 'Age',
          title = "",
          col = Group.Palette)$graph
Plot_Grid(list(plot1, plot2,
               plot3, plot4))
Supp. Figure 4

Supp. Figure 4

06_Feature_Processing

data <- readRDS(paste0(wd, "RDS/Data_Objects/all_data.rds"))
lipidsReduced <- Remove_Intercorrelated_Features(data$dfs$lipids, 0.85)

plot1 <- (plsda(data$dfs$lipids, data$samples$group, scale=T) %>% 
            plotIndiv(group = data$samples$group,
                      ind.names=F))[["graph"]]
plot2 <- (plsda(lipidsReduced, data$samples$group, scale=T) %>% 
            plotIndiv(group = data$samples$group,
                      ind.names=F))[["graph"]]
Plot_Grid(list(plot1, plot2))
Supp. Figure 5

Supp. Figure 5

proteinsReduced <- Remove_Intercorrelated_Features(data$dfs$proteins, 0.7)

plot1 <- (plsda(data$dfs$proteins, data$samples$group, scale=T) %>% 
            plotIndiv(group = data$samples$group,
                      ind.names=F))[["graph"]]
plot2 <- (plsda(proteinsReduced, data$samples$group, scale=T) %>% 
            plotIndiv(group = data$samples$group,
                      ind.names=F))[["graph"]]
Plot_Grid(list(plot1, plot2))
Supp. Figure 6

Supp. Figure 6

data <- readRDS(paste0(wd, "RDS/Data_Objects/engineered_data.rds"))
plsdaObj <- plsda(data$dfs$engineered,
                  data$samples$group)
plotLoadings(plsdaObj,
             comp=1,
             contrib = 'max', 
             method = 'median',
             ndisplay = 25)
Supp. Figure 7

Supp. Figure 7

plotLoadings(plsdaObj,
             comp=2,
             contrib = 'max', 
             method = 'median',
             ndisplay = 25)
Supp. Figure 8

Supp. Figure 8

07_Model_Building

data <- readRDS(paste0(wd, "RDS/Data_Objects/engineered_data.rds"))
lipidPCA <- pca(data$dfs$lipids,
                scale=T)

plotIndiv(lipidPCA,
          ind.names= data$samples$names,
          group = data$samples$group,
          legend = TRUE, 
          legend.title = 'Group',
          title = "Filtered lipid PCA",
          col = Group.Palette)
Supp. Figure 9

Supp. Figure 9

proteinPCA <- pca(data$dfs$proteins,
                scale=T)

plotIndiv(proteinPCA,
          ind.names= data$samples$names,
          group = data$samples$group,
          legend = TRUE, 
          legend.title = 'Group',
          title = "Filtered protein PCA",
          col = Group.Palette)
Supp. Figure 10

Supp. Figure 10

engineeredPCA <- pca(data$dfs$engineered,
                scale=T)

plotIndiv(engineeredPCA,
          ind.names= data$samples$names,
          group = data$samples$group,
          legend = TRUE, 
          legend.title = 'Group',
          title = "Engineered PCA",
          col = Group.Palette)
Supp. Figure 10

Supp. Figure 10

model <- readRDS(paste0(wd, "RDS/final_model.rds"))
auroc(model, roc.comp = 1, roc.block = 1)
Supp. Figure 11

Supp. Figure 11

auroc(model, roc.comp = 1, roc.block = 2)
Supp. Figure 12

Supp. Figure 12

auroc(model, roc.comp = 1, roc.block = 3)
Supp. Figure 13

Supp. Figure 13

plotLoadings(model, 
             comp = 2, 
             contrib = 'max', 
             method = 'median',
             ndisplay = 20) %>% suppressMessages()
Supp. Figure 14

Supp. Figure 14